1. Field of the Invention
Embodiments of the invention relate to systems which can directly manipulate pages of memory by modifying a Translation Table (TT) associated with the dynamically allocated main memory.
2. Discussion of the Related Art
In computer systems it is customary that there be a one-to-one correspondence between a memory address produced by a processor and a specific area in a physical memory of a system. It is an error for the processor to request access to an address which does not have an associated physical memory area. This limits the operating system (OS) and applications to an address space determined by the actual physical memory installed in the system. Modern computer systems have overcome this limitation through the use of virtual memory that implements a Translation Table (TT) to map program addresses to real memory addresses.
With virtual memory the program works in an address space limited only by processor architecture. It is a function of the OS to ensure that data and code of a program is in main memory and that the TT can map the virtual address to the real address correctly.
In a virtual memory system, the allocation of memory is most commonly performed by operating system software. This requires an interrupt of an instruction sequence so that privileged kernel code can allocate physical memory to the area being accessed so that normal program flow can continue without error. This interrupt and the kernel processing to allocate physical memory require a significant amount of processing time and upset the normal pipelining of instructions through a central processing unit (CPU).
However, in a computing system that has introduced a central storage mechanism which increases the maximum amount of central storage in the system above a previously architected limit, such as the IBM z/OS operating system, the majority of applications that run on that system are not able to easily take advantage of the additional central storage.
The z/OS operating system is a 64-bit server operating system from IBM. It is the successor to the IBM mainframe operating system OS/390, combining Multiple Virtual Storage (MVS) and UNIX System Services (a POSIX-compliant mainframe implementation of UNIX formerly known as MVS Open Edition). z/OS is a highly secure, scalable, high-performance enterprise operating system on which to build and deploy Internet and Java-enabled applications or legacy applications, providing a comprehensive and diverse application execution environment.
An important feature of new software products is the ability to work with a company's legacy applications, or at least be able to import data from them. In information technology, legacy applications and data are those that have been inherited from languages, platforms, and techniques earlier than current technology. Most enterprises that utilize computers have legacy applications and databases that serve critical business needs.
In the case being addressed here, these legacy applications function based on old architectural limits of central storage addressability. Under certain circumstances, these legacy applications place “constraint” on the management of central storage up to the old architected limit disproportionate to the system's central storage as a whole.
Therefore, in the software operating system (e.g., IBM z/OS) there exists a need to design a means to specifically handle disproportionate “constraint” placed on a central storage below the old limit. This mechanism must also perform its function with maximization of efficiency to minimize the intrusion of the operating system with regard to the number of machine “cycles” used to perform the function. The more cycles consumed by the operating system, the fewer cycles that are available to the customer's applications being used to achieve the customer's business goals.
During the new legacy storage relief process considerable central processing unit (CPU) resources are expended when the legacy storage becomes constrained. Under severe constraint conditions the result can be movement of thousands of pages per second from legacy frames to high frames (central storage in the addressing range beyond the previously architected limit.)
Considering the fact that the movement must copy bits and bytes from one physical storage location to another it is no surprise that the result is high CPU consumption.
Consequently, it would be highly desirable to provide a computer system that uses dynamically allocated physical memory and a Translation Table (TT) for managing this memory and a mechanism for performing these page operations without requiring the use of the processor. It would also be desirable to successfully manage disproportionate “constraint” placed on the central storage, minimize the number of machine “cycles” used to perform functions and minimize CPU consumption and to present a system that has the ability to virtually remove physical storage from the computing environment.